<?php

declare (strict_types=1);

namespace magein\pay\extension;

interface PayQrcodeOrderInterface
{
    /**
     * 创建订单
     * @param array $data
     * @return mixed
     */
    public function create(array $data);

    /**
     * 获取扫码支付订单数据
     * @param $pay_no
     * @return array
     */
    public function getByPayNo($pay_no): array;

    /**
     * 验证是否二维码是否有效
     * @param array|string $data 二维码支付编号或者支付数据
     * @return bool
     */
    public function available($data): bool;

    /**
     * 标记为不可用状态
     * @param $pay_no
     * @return mixed
     */
    public function unavailable($pay_no);

    /**
     * 获取扫码支付二维码的临时地址
     * @param $save_path
     * @return string
     */
    public function getTempSavePath($save_path): string;
}